﻿/**
 * 带文件上传的ajax表单提交
 * @param {Object} form
 * @param {Object} callback
 */
function callback(response) {
    //alert(response);
    $('#alertModal .modal-body').html(response);
    $('#alertModal').modal('show');
}


function iframeCallback(form) {
    var $form = $(form), $iframe = $("#callbackframe");
    if (!$form.valid()) { return false; }

    if ($iframe.size() == 0) {
        $iframe = $("<iframe id='callbackframe' name='callbackframe' src='about:blank' style='display:none'></iframe>").appendTo("body");
    }
    if (!form.ajax) {
        $form.append('<input type="hidden" name="ajax" value="1" />');
    }
    form.target = "callbackframe";

    _iframeResponse($iframe[0]);
}

function _iframeResponse(iframe) {
    var $iframe = $(iframe), $document = $(document);

    $document.trigger("ajaxStart");

    $iframe.bind("load", function (event) {
        $iframe.unbind("load");
        $document.trigger("ajaxStop");

        if (iframe.src == "javascript:'%3Chtml%3E%3C/html%3E';" || // For Safari
			iframe.src == "javascript:'<html></html>';") { // For FF, IE
            return;
        }

        var doc = iframe.contentDocument || iframe.document;

        // fixing Opera 9.26,10.00
        if (doc.readyState && doc.readyState != 'complete') return;
        // fixing Opera 9.64
        if (doc.body && doc.body.innerHTML == "false") return;

        var response;

        if (doc.XMLDocument) {
            // response is a xml document Internet Explorer property
            response = doc.XMLDocument;
        } else if (doc.body) {
            try {
                response = $iframe.contents().find("body").text();
                response = jQuery.parseJSON(response);
            } catch (e) { // response is html document or plain text
                response = doc.body.innerHTML;
            }
        } else {
            // response is a xml document
            response = doc;
        }

        callback(response);
    });
}


function previewImage(file,image) {
    //debugger
    var porImg = $('#'+image);
    //判断该浏览器是否为w3c标准，既非IE浏览器   
    if (file["files"] && file["files"][0]) {
        //使用JavaScript的FileReader对象来读取本地数据，并且将数据结果赋值给image的src，具体该对象如何实现的还未深入研究  
        var reader = new FileReader();
        reader.onload = function (evt) {
            porImg.attr('src', evt.target.result);
        }
        reader.readAsDataURL(file.files[0]);
    }
        //如果是IE浏览器，采用滤镜效果，进行显示，但特别注意的是该滤镜效果使用的对象是div对象，并非img对象，因此我们需要将原有的img对象remove同时生成新的div对象，并且赋值相应的class和id  
    else {
        //创建需要滤镜显示的div的dom对象  
        var ieImageDom = document.createElement("div");
        //设置对象的css属性和原有的img对象属性相同，添加相应的id属性值  
        $(ieImageDom).css({
            margin: '10px',
            width: '360px',
            height: '95px'
        }).attr({ "id": image});
        //删除原有img对象，append创建div的dom对象  
        var $before=porImg.prev();
        $(ieImageDom).insertAfter($before);
        porImg.remove();
        //采用滤镜效果生成图片预览  
        file.select();
        path = document.selection.createRange().text;
        $(ieImageDom).css({ "filter": "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',sizingMethod='scale',src=\"" + path + "\")" });
    }
}

